/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package demo.exception;

import demo.classes.*;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author VANDH
 */
public class Student {
    // field, property, thuộc tính
    // instance variable

    String fullName;
    String rollNumber;
    float[] marks;

    // init block - đoạn code khởi tạo
    {
        rollNumber = "";
        marks = new float[3];
    }

    // constructor -> hàm tạo
    // default constructor -> hàm tạo mặc định, hàm tạo không tham số
    public Student() {
        fullName = "";
    }

    // hàm tạo có tham số
    public Student(String f) {
        fullName = f;

    }

    // function trong class -> method, phương thức
    public void showMarks() {
        for (int i = 0; i <= marks.length; i++) {
            try {
                //...
                System.out.println("Marks " + (i + 1) + ":" + marks[i]);
                //ArrayIndexOutOfBoundsException a = new ArrayIndexOutOfBoundsException();
                //...
                // Insert thành công
//                NullPointerException x = new NullPointerException();
                //
            } catch (ArrayIndexOutOfBoundsException ex) {
                // thực hiện khi có lỗi ở trong đoạn try catch
                System.out.println("Lỗi mảng " + ex.toString());
                throw new NullPointerException("Lỗi rồi");
                //...
            } catch (NullPointerException ex) {
                // thực hiện khi có lỗi ở trong đoạn try catch
                System.out.println("Lỗi null " + ex.toString());
            } catch (Exception ex) {
                // thực hiện khi có lỗi ở trong đoạn try catch
                System.out.println("Lỗi chung chung " + ex.toString());
            } finally {
                // Đóng file
            }
            //...
        }
    }

    public void writeFile() throws FileNotFoundException {

        DataOutputStream dos =
                new DataOutputStream(
                new FileOutputStream("Tên file"));

    }

    public float averageMark() {
        float total = 0;

        for (int i = 0; i < marks.length; i++) {
            total = total + marks[i];
        }

        return (total / marks.length);
    }
}
